﻿/**
 * @file DataCenter.h
 * @author monster
 * @date 2024/4/4
 */

#pragma once

#include "Account.h"
#include "DataCenterLog.h"

class DataCenter
{
public:
    DataCenter(const char* id);
    ~DataCenter();

    bool AddAccount(Account* account);
    bool RemoveAccount(Account* account);
    bool Remove(Account::AccountVector_t* vec, Account* account);
    Account* SearchAccount(const char* id);
    Account* Find(Account::AccountVector_t* vec, const char* id);

public:
    const char* ID;
    /* Admin account, will automatically follow all accounts */
    Account AccountMain;


private:

    Account::AccountVector_t AccountPool;
};

